#ifndef INSTRUMENTO_H
#define INSTRUMENTO_H

#include <QObject>
#include "piezainstrumento.h"
#include "notacompas.h"

class Instrumento : public QObject
{
    Q_OBJECT

public:
    Instrumento();
    virtual ~Instrumento();

    void dibujar(QPainter* painter, ConversorUnidades* conversor, bool esquema);

	int getNumeroPiezas() { return listaPiezas.size(); }

	int getIndiceNota(int nota);

	/**
	 * Obtiene el indice de una nota dentro del instrumenro. Esto es util para
	 * representar cada nota en la linea de tiempo.
	 */	
	int getIndiceNota(const QString& nombreNota);

    QList<Dibujo*> getListaDibujos();
    QList<Textura*> getListaTexturas() { return listaTexturas; }

    void actualizar();

private:
    QList<PiezaInstrumento*> listaPiezas;
    QList<Textura*> listaTexturas;
};

#endif // INSTRUMENTO_H
